]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Update to new GnomeIdleMonitor API
authorJasper St. Pierre <jstpierre@mecheye.net>
Fri, 18 Jan 2013 05:24:32 +0000 (00:24 -0500)
committerBastien Nocera <hadess@hadess.net>
Fri, 15 Feb 2013 08:13:02 +0000 (09:13 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=688227

js/ui/messageTray.js
js/ui/pointerWatcher.js
js/ui/screenShield.js

index 7376456b54a0246c8d1bb6ea0890a2760b8fe2fa..8af765dfcf7f470f77d16c3c5a88d8dbbb523b58 100644 (file)
@@ -1642,7 +1642,6 @@ const MessageTray = new Lang.Class({
         this._closeButton.connect('clicked', Lang.bind(this, this._closeNotification));
         this._notificationWidget.add_actor(this._closeButton);
 
-        this._idleMonitorBecameActiveId = 0;
         this._userActiveWhileNotificationShown = false;
 
         this.idleMonitor = new GnomeDesktop.IdleMonitor();
@@ -2443,9 +2442,6 @@ const MessageTray = new Lang.Class({
     },
 
     _onIdleMonitorBecameActive: function() {
-        this.idleMonitor.disconnect(this._idleMonitorBecameActiveId);
-        this._idleMonitorBecameActiveId = 0;
-
         this._userActiveWhileNotificationShown = true;
         this._updateNotificationTimeout(2000);
         this._updateState();
@@ -2454,12 +2450,11 @@ const MessageTray = new Lang.Class({
     _showNotification: function() {
         this._notification = this._notificationQueue.shift();
 
-        let userIdle = this.idleMonitor.get_idletime() > IDLE_TIME;
-        if (userIdle) {
-            this._userActiveWhileNotificationShown = false;
-            this._idleMonitorBecameActiveId = this.idleMonitor.connect('became-active', Lang.bind(this, this._onIdleMonitorBecameActive));
-        } else {
-            this._userActiveWhileNotificationShown = true;
+        this._userActiveWhileNotificationShown = this.idleMonitor.get_idletime() > IDLE_TIME;
+        if (!this._userActiveWhileNotificationShown) {
+            // If the user isn't active, set up a watch to let us know
+            // when the user becomes active.
+            this.idleMonitor.add_user_active_watch(Lang.bind(this, this._onIdleMonitorBecameActive));
         }
 
         this._notificationClickedId = this._notification.connect('done-displaying',
@@ -2577,10 +2572,6 @@ const MessageTray = new Lang.Class({
 
         this._grabHelper.ungrab({ actor: this._notification.actor });
 
-        if (this._idleMonitorBecameActiveId) {
-            this.idleMonitor.disconnect(this._idleMonitorBecameActiveId);
-            this._idleMonitorBecameActiveId = 0;
-        }
         if (this._notificationExpandedId) {
             this._notification.disconnect(this._notificationExpandedId);
             this._notificationExpandedId = 0;
index dc31a1dd890133d98fd06c6d9ec55dcf00f713bb..38339b8f926315b1d7435101e64e67b89e4fd134 100644 (file)
@@ -42,8 +42,7 @@ const PointerWatcher = new Lang.Class({
 
     _init: function() {
         this._idleMonitor = new GnomeDesktop.IdleMonitor();
-        this._idleMonitor.connect('became-active', Lang.bind(this, this._onIdleMonitorBecameActive));
-        this._idleMonitor.add_watch(IDLE_TIME, Lang.bind(this, this._onIdleMonitorBecameIdle));
+        this._idleMonitor.add_idle_watch(IDLE_TIME, Lang.bind(this, this._onIdleMonitorBecameIdle));
         this._idle = this._idleMonitor.get_idletime() > IDLE_TIME;
         this._watches = [];
         this.pointerX = null;
@@ -87,6 +86,7 @@ const PointerWatcher = new Lang.Class({
 
     _onIdleMonitorBecameIdle: function(monitor) {
         this._idle = true;
+        this._idleMonitor.add_user_active_watch(Lang.bind(this, this._onIdleMonitorBecameActive));
         this._updateTimeout();
     },
 
index d57a94ed3527a7df27079aa2ef4459017ae00327..e9301a9ef012c9d7e105854f7c3b1ce4791ef726 100644 (file)
@@ -771,9 +771,7 @@ const ScreenShield = new Lang.Class({
         if (this._activationTime == 0)
             this._activationTime = GLib.get_monotonic_time();
 
-        if (this._becameActiveId == 0)
-            this._becameActiveId = this.idleMonitor.connect('became-active',
-                                                            Lang.bind(this, this._onUserBecameActive));
+        this._becameActiveId = this.idleMonitor.add_user_active_watch(this._onUserBecameActive);
 
         let shouldLock = this._settings.get_boolean(LOCK_ENABLED_KEY) && !this._isLocked;
 
@@ -807,7 +805,7 @@ const ScreenShield = new Lang.Class({
         //   session is effectivelly locked now, it's time to build and show
         //   the lock screen
 
-        this.idleMonitor.disconnect(this._becameActiveId);
+        this.idleMonitor.remove_watch(this._becameActiveId);
         this._becameActiveId = 0;
 
         let lightboxWasShown = this._lightbox.shown;
@@ -1115,7 +1113,7 @@ const ScreenShield = new Lang.Class({
         this.actor.hide();
 
         if (this._becameActiveId != 0) {
-            this.idleMonitor.disconnect(this._becameActiveId);
+            this.idleMonitor.remove_watch(this._becameActiveId);
             this._becameActiveId = 0;
         }